<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>XMP Toolkit SDK: AdobeXMPCore::IPathSegment_v1 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xmp_tagline_small.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">XMP Toolkit SDK
   &#160;<span id="projectnumber">6.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classAdobeXMPCore_1_1IPathSegment__v1.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classAdobeXMPCore_1_1IPathSegment__v1-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AdobeXMPCore::IPathSegment_v1 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Version1 of the interface that represents one segment in a path to a node into the XMP tree.  
 <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IPathSegment_8h_source.html">IPathSegment.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for AdobeXMPCore::IPathSegment_v1:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classAdobeXMPCore_1_1IPathSegment__v1.png" usemap="#AdobeXMPCore::IPathSegment_5Fv1_map" alt=""/>
  <map id="AdobeXMPCore::IPathSegment_5Fv1_map" name="AdobeXMPCore::IPathSegment_5Fv1_map">
<area href="classAdobeXMPCommon_1_1ISharedObject.html" title="Interface that serves as the base interface of all the externally exposed interfaces." alt="AdobeXMPCommon::ISharedObject" shape="rect" coords="0,0,212,24"/>
<area href="classAdobeXMPCommon_1_1IVersionable.html" title="Interface that serves as the base interface for all the externally exposed interfaces which needs to ..." alt="AdobeXMPCommon::IVersionable" shape="rect" coords="222,0,434,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a8a9f850adf6f3f510298df13896b76b9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">ePathSegmentType</a> { <br />
&#160;&#160;<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ab178c4df00dc4b10c7c5937d82499a84">kPSTNone</a> = 0, 
<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ac351f884bf338c15a4a619e89216e2b9">kPSTProperty</a> = 1, 
<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ae86feb38a46c4fb2ecb35bb651dca161">kPSTArrayIndex</a> = 1 &lt;&lt; 1, 
<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a8d1e54d4a1f97847f03eb7ff36c263a7">kPSTQualifier</a> = 1 &lt;&lt; 2, 
<br />
&#160;&#160;<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a2eb4a4d89f26c720eb393eb56997ba09">kPSTQualifierSelector</a> = 1 &lt;&lt; 3, 
<a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a6c99b2ecc364a71db39b2e9ff0a94880">kPSTAll</a> = kAllBits
<br />
 }</td></tr>
<tr class="memdesc:a8a9f850adf6f3f510298df13896b76b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enumeration represents the types of a path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">More...</a><br /></td></tr>
<tr class="separator:a8a9f850adf6f3f510298df13896b76b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7e77bac3c1b1081cc77292fa5f3dbb21"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a7e77bac3c1b1081cc77292fa5f3dbb21">GetNameSpace</a> () const =0</td></tr>
<tr class="memdesc:a7e77bac3c1b1081cc77292fa5f3dbb21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name space of the path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a7e77bac3c1b1081cc77292fa5f3dbb21">More...</a><br /></td></tr>
<tr class="separator:a7e77bac3c1b1081cc77292fa5f3dbb21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84866bc4b4d4193e27a41816021fcc3e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a84866bc4b4d4193e27a41816021fcc3e">GetName</a> () const =0</td></tr>
<tr class="memdesc:a84866bc4b4d4193e27a41816021fcc3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a84866bc4b4d4193e27a41816021fcc3e">More...</a><br /></td></tr>
<tr class="separator:a84866bc4b4d4193e27a41816021fcc3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5bc45db24ed6f31660349a4514fbe8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">ePathSegmentType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#aed5bc45db24ed6f31660349a4514fbe8">GetType</a> () const =0</td></tr>
<tr class="memdesc:aed5bc45db24ed6f31660349a4514fbe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the type of the path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#aed5bc45db24ed6f31660349a4514fbe8">More...</a><br /></td></tr>
<tr class="separator:aed5bc45db24ed6f31660349a4514fbe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6552774db8039b1ddc02491fc82b2699"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a6552774db8039b1ddc02491fc82b2699">GetIndex</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:a6552774db8039b1ddc02491fc82b2699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the index of the array type path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a6552774db8039b1ddc02491fc82b2699">More...</a><br /></td></tr>
<tr class="separator:a6552774db8039b1ddc02491fc82b2699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6cd8e0f0aa9e9e0ffebf3a63a778fdf"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#aa6cd8e0f0aa9e9e0ffebf3a63a778fdf">GetValue</a> () const =0</td></tr>
<tr class="memdesc:aa6cd8e0f0aa9e9e0ffebf3a63a778fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of the qualifier type path segment.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#aa6cd8e0f0aa9e9e0ffebf3a63a778fdf">More...</a><br /></td></tr>
<tr class="separator:aa6cd8e0f0aa9e9e0ffebf3a63a778fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">Acquire</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate that he has acquired the shared ownership of the object.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">More...</a><br /></td></tr>
<tr class="separator:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">Release</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">More...</a><br /></td></tr>
<tr class="separator:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">GetInterfacePointer</a> ()</td></tr>
<tr class="memdesc:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to an interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">More...</a><br /></td></tr>
<tr class="separator:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">GetInterfacePointer</a> () const</td></tr>
<tr class="memdesc:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to a const interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">More...</a><br /></td></tr>
<tr class="separator:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a78df7478295fed763eadac0cefb79e1b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a78df7478295fed763eadac0cefb79e1b">CreatePropertyPathSegment</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)</td></tr>
<tr class="memdesc:a78df7478295fed763eadac0cefb79e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a normal property path segment.These are essentially all properties (simple, struct and arrays).  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a78df7478295fed763eadac0cefb79e1b">More...</a><br /></td></tr>
<tr class="separator:a78df7478295fed763eadac0cefb79e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94dc022fdf9edad3423c8f281f95674"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#ab94dc022fdf9edad3423c8f281f95674">CreateArrayIndexPathSegment</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> index)</td></tr>
<tr class="memdesc:ab94dc022fdf9edad3423c8f281f95674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an array index path segment that denotes a specific element of an array.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#ab94dc022fdf9edad3423c8f281f95674">More...</a><br /></td></tr>
<tr class="separator:ab94dc022fdf9edad3423c8f281f95674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49da0c0bed14c7afb07d263570f09221"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a49da0c0bed14c7afb07d263570f09221">CreateQualifierPathSegment</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)</td></tr>
<tr class="memdesc:a49da0c0bed14c7afb07d263570f09221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Qualifier path segment, which behaves like a normal property.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a49da0c0bed14c7afb07d263570f09221">More...</a><br /></td></tr>
<tr class="separator:a49da0c0bed14c7afb07d263570f09221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854506c44a7acfc0246709a6cd74638d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a854506c44a7acfc0246709a6cd74638d">CreateQualifierSelectorPathSegment</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength, const char *value, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> valueLength)</td></tr>
<tr class="memdesc:a854506c44a7acfc0246709a6cd74638d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a path segment that selects a specific qualifier by its value. For example a specific language in a alternative array of languages.  <a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a854506c44a7acfc0246709a6cd74638d">More...</a><br /></td></tr>
<tr class="separator:a854506c44a7acfc0246709a6cd74638d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a1ef63ec40233a30d4ec9f165e5332a43"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a1ef63ec40233a30d4ec9f165e5332a43">~IPathSegment_v1</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a></td></tr>
<tr class="separator:a1ef63ec40233a30d4ec9f165e5332a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#a5869ff89d0b7dd0a7b525401a1d57b31">~ISharedObject</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="separator:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#afcb42109aed83c3b0c133bc413388037">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a3ccd9a1bdf7008906e094fb4e7f69826">~IVersionable</a> ()</td></tr>
<tr class="separator:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ac619a81b428c88cfce50feaa91a2479f">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Version1 of the interface that represents one segment in a path to a node into the XMP tree. </p>
<p>Provides all the functions to access properties of the path segment and factory functions to create various kinds of path segments. </p><dl class="section attention"><dt>Attention</dt><dd>Not thread safe and not required as only read only access is provided to client. </dd></dl>

<p class="definition">Definition at line <a class="el" href="IPathSegment_8h_source.html#l00026">26</a> of file <a class="el" href="IPathSegment_8h_source.html">IPathSegment.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a8a9f850adf6f3f510298df13896b76b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a9f850adf6f3f510298df13896b76b9">&#9670;&nbsp;</a></span>ePathSegmentType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">AdobeXMPCore::IPathSegment_v1::ePathSegmentType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This enumeration represents the types of a path segment. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9ab178c4df00dc4b10c7c5937d82499a84"></a>kPSTNone&#160;</td><td class="fielddoc"><p>None type. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9ac351f884bf338c15a4a619e89216e2b9"></a>kPSTProperty&#160;</td><td class="fielddoc"><p>Any property that consists of namespace and a localName. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9ae86feb38a46c4fb2ecb35bb651dca161"></a>kPSTArrayIndex&#160;</td><td class="fielddoc"><p>An array index which does not have a namespace or localName itself. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9a8d1e54d4a1f97847f03eb7ff36c263a7"></a>kPSTQualifier&#160;</td><td class="fielddoc"><p>A qualifier of a property, also consists of namespace and localName. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9a2eb4a4d89f26c720eb393eb56997ba09"></a>kPSTQualifierSelector&#160;</td><td class="fielddoc"><p>Selects a specific qualifier by its value (e.g. specific language) </p>
</td></tr>
<tr><td class="fieldname"><a id="a8a9f850adf6f3f510298df13896b76b9a6c99b2ecc364a71db39b2e9ff0a94880"></a>kPSTAll&#160;</td><td class="fielddoc"><p>Represents all property types. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="IPathSegment_8h_source.html#l00035">35</a> of file <a class="el" href="IPathSegment_8h_source.html">IPathSegment.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                             {</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ab178c4df00dc4b10c7c5937d82499a84">kPSTNone</a>                                                        = 0,</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ac351f884bf338c15a4a619e89216e2b9">kPSTProperty</a>                                            = 1,</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                        </div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ae86feb38a46c4fb2ecb35bb651dca161">kPSTArrayIndex</a>                                          = 1 &lt;&lt; 1,</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                        </div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a8d1e54d4a1f97847f03eb7ff36c263a7">kPSTQualifier</a>                                           = 1 &lt;&lt; 2,</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                        </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a2eb4a4d89f26c720eb393eb56997ba09">kPSTQualifierSelector</a>                           = 1 &lt;&lt; 3,</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                        <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a6c99b2ecc364a71db39b2e9ff0a94880">kPSTAll</a>                                                         = <a class="code" href="namespaceAdobeXMPCommon.html#a3e31c8b25cbf95c42b8e439071bdf865">kAllBits</a></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                } <a class="code" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">ePathSegmentType</a>;</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1ef63ec40233a30d4ec9f165e5332a43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ef63ec40233a30d4ec9f165e5332a43">&#9670;&nbsp;</a></span>~IPathSegment_v1()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual AdobeXMPCore::IPathSegment_v1::~IPathSegment_v1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destructor </p>

<p class="definition">Definition at line <a class="el" href="IPathSegment_8h_source.html#l00210">210</a> of file <a class="el" href="IPathSegment_8h_source.html">IPathSegment.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab94dc022fdf9edad3423c8f281f95674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab94dc022fdf9edad3423c8f281f95674">&#9670;&nbsp;</a></span>CreateArrayIndexPathSegment()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a> AdobeXMPCore::IPathSegment_v1::CreateArrayIndexPathSegment </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nameSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameSpaceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an array index path segment that denotes a specific element of an array. </p>
<p>Such segments do not have an own name and inherits the namespace from the Array property itself. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpace</td><td>Pointer to a constant char buffer containing name space URI of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpaceLength</td><td>Number of characters in nameSpace. In case nameSpace is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An object of type #AdobeXMP::sizet containting the index of the array element. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #IPathSegment. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Throws #AdobeXMP::pcIError in case<ul>
<li>pointers to const char buffers are NULL,</li>
<li>their content is empty. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a78df7478295fed763eadac0cefb79e1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78df7478295fed763eadac0cefb79e1b">&#9670;&nbsp;</a></span>CreatePropertyPathSegment()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a> AdobeXMPCore::IPathSegment_v1::CreatePropertyPathSegment </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nameSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameSpaceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameLength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a normal property path segment.These are essentially all properties (simple, struct and arrays). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpace</td><td>Pointer to a constant char buffer containing name space URI of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpaceLength</td><td>Number of characters in nameSpace. In case nameSpace is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Pointer to a constant char buffer containing local name of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameLength</td><td>Number of characters in name. In case name is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #IPathSegment. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Throws #<a class="el" href="namespaceAdobeXMPCommon.html#aa3444ca0deb4598e7e71d3339b652c4a">AdobeXMPCommon::pcIError</a> in case<ul>
<li>pointers to const char buffers are NULL,</li>
<li>their content is empty. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a49da0c0bed14c7afb07d263570f09221"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49da0c0bed14c7afb07d263570f09221">&#9670;&nbsp;</a></span>CreateQualifierPathSegment()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a> AdobeXMPCore::IPathSegment_v1::CreateQualifierPathSegment </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nameSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameSpaceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameLength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a Qualifier path segment, which behaves like a normal property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpace</td><td>Pointer to a constant char buffer containing name space URI of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpaceLength</td><td>Number of characters in nameSpace. In case nameSpace is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Pointer to a constant char buffer containing local name of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameLength</td><td>Number of characters in name. In case name is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #IPathSegment. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Throws #<a class="el" href="namespaceAdobeXMPCommon.html#aa3444ca0deb4598e7e71d3339b652c4a">AdobeXMPCommon::pcIError</a> in case<ul>
<li>pointers to const char buffers are NULL,</li>
<li>their content is empty. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a854506c44a7acfc0246709a6cd74638d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a854506c44a7acfc0246709a6cd74638d">&#9670;&nbsp;</a></span>CreateQualifierSelectorPathSegment()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a98ce40154ef1c1d92f2077c8211f2a9c">spcIPathSegment</a> AdobeXMPCore::IPathSegment_v1::CreateQualifierSelectorPathSegment </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nameSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameSpaceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>nameLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a>&#160;</td>
          <td class="paramname"><em>valueLength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a path segment that selects a specific qualifier by its value. For example a specific language in a alternative array of languages. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpace</td><td>Pointer to a constant char buffer containing name space URI of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameSpaceLength</td><td>Number of characters in nameSpace. In case nameSpace is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Pointer to a constant char buffer containing local name of the property. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nameLength</td><td>Number of characters in name. In case name is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Pointer to a constant char buffer containing value of the language (xml:lang) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">valueLength</td><td>Number of characters in value. In case value is null terminated set it to #<a class="el" href="namespaceAdobeXMPCommon.html#afc1bfa88991003b305ab5023b483d3f9">AdobeXMPCommon::npos</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #IPathSegment. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Throws <a class="el" href="namespaceAdobeXMPCommon.html#aa3444ca0deb4598e7e71d3339b652c4a">AdobeXMPCommon::pcIError</a> in case<ul>
<li>pointers to const char buffers are NULL,</li>
<li>their content is empty. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a6552774db8039b1ddc02491fc82b2699"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6552774db8039b1ddc02491fc82b2699">&#9670;&nbsp;</a></span>GetIndex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL AdobeXMPCore::IPathSegment_v1::GetIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the index of the array type path segment. </p>
<dl class="section return"><dt>Returns</dt><dd>An objet of type #<a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">AdobeXMPCommon::sizet</a> object representing index of the array type path segment. In case path segment is not of type kPSTArrayIndex, it returns #<a class="el" href="namespaceAdobeXMPCommon.html#a70450f8972a521a88b5bc4f6240b8090">AdobeXMPCommon::kMaxSize</a>. </dd></dl>

</div>
</div>
<a id="a84866bc4b4d4193e27a41816021fcc3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84866bc4b4d4193e27a41816021fcc3e">&#9670;&nbsp;</a></span>GetName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL AdobeXMPCore::IPathSegment_v1::GetName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the name of the path segment. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #AdobeXMPCommon::IUTF8String object containing name of the path segment. In case path segment has no name space, an invalid shared pointer is returned. </dd></dl>

</div>
</div>
<a id="a7e77bac3c1b1081cc77292fa5f3dbb21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e77bac3c1b1081cc77292fa5f3dbb21">&#9670;&nbsp;</a></span>GetNameSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL AdobeXMPCore::IPathSegment_v1::GetNameSpace </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the name space of the path segment. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #AdobeXMPCommon::IUTF8String object representing namespace of the path segment. </dd></dl>

</div>
</div>
<a id="aed5bc45db24ed6f31660349a4514fbe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed5bc45db24ed6f31660349a4514fbe8">&#9670;&nbsp;</a></span>GetType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">ePathSegmentType</a> APICALL AdobeXMPCore::IPathSegment_v1::GetType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the type of the path segment. </p>
<dl class="section return"><dt>Returns</dt><dd>An object of type #ePathSegmentType representing type of the path segment. </dd></dl>

</div>
</div>
<a id="aa6cd8e0f0aa9e9e0ffebf3a63a778fdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6cd8e0f0aa9e9e0ffebf3a63a778fdf">&#9670;&nbsp;</a></span>GetValue()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL AdobeXMPCore::IPathSegment_v1::GetValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the value of the qualifier type path segment. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const #AdobeXMP::IUTF8String object representing value of the qualifier type path segment. In case path segment is not of type kPSTQualifier an invalid shared pointer is returned. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>public/include/XMPCore/Interfaces/<a class="el" href="IPathSegment_8h_source.html">IPathSegment.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9ae86feb38a46c4fb2ecb35bb651dca161"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ae86feb38a46c4fb2ecb35bb651dca161">AdobeXMPCore::IPathSegment_v1::kPSTArrayIndex</a></div><div class="ttdeci">@ kPSTArrayIndex</div><div class="ttdoc">An array index which does not have a namespace or localName itself.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00043">IPathSegment.h:43</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9a8d1e54d4a1f97847f03eb7ff36c263a7"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a8d1e54d4a1f97847f03eb7ff36c263a7">AdobeXMPCore::IPathSegment_v1::kPSTQualifier</a></div><div class="ttdeci">@ kPSTQualifier</div><div class="ttdoc">A qualifier of a property, also consists of namespace and localName.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00046">IPathSegment.h:46</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9a6c99b2ecc364a71db39b2e9ff0a94880"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a6c99b2ecc364a71db39b2e9ff0a94880">AdobeXMPCore::IPathSegment_v1::kPSTAll</a></div><div class="ttdeci">@ kPSTAll</div><div class="ttdoc">Represents all property types.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00052">IPathSegment.h:52</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9ac351f884bf338c15a4a619e89216e2b9"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ac351f884bf338c15a4a619e89216e2b9">AdobeXMPCore::IPathSegment_v1::kPSTProperty</a></div><div class="ttdeci">@ kPSTProperty</div><div class="ttdoc">Any property that consists of namespace and a localName.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00040">IPathSegment.h:40</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9">AdobeXMPCore::IPathSegment_v1::ePathSegmentType</a></div><div class="ttdeci">ePathSegmentType</div><div class="ttdoc">This enumeration represents the types of a path segment.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00035">IPathSegment.h:35</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9ab178c4df00dc4b10c7c5937d82499a84"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9ab178c4df00dc4b10c7c5937d82499a84">AdobeXMPCore::IPathSegment_v1::kPSTNone</a></div><div class="ttdeci">@ kPSTNone</div><div class="ttdoc">None type.</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00037">IPathSegment.h:37</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1IPathSegment__v1_html_a8a9f850adf6f3f510298df13896b76b9a2eb4a4d89f26c720eb393eb56997ba09"><div class="ttname"><a href="classAdobeXMPCore_1_1IPathSegment__v1.html#a8a9f850adf6f3f510298df13896b76b9a2eb4a4d89f26c720eb393eb56997ba09">AdobeXMPCore::IPathSegment_v1::kPSTQualifierSelector</a></div><div class="ttdeci">@ kPSTQualifierSelector</div><div class="ttdoc">Selects a specific qualifier by its value (e.g. specific language)</div><div class="ttdef"><b>Definition:</b> <a href="IPathSegment_8h_source.html#l00049">IPathSegment.h:49</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCommon_html_a3e31c8b25cbf95c42b8e439071bdf865"><div class="ttname"><a href="namespaceAdobeXMPCommon.html#a3e31c8b25cbf95c42b8e439071bdf865">AdobeXMPCommon::kAllBits</a></div><div class="ttdeci">static const uint32 kAllBits(0xFFFFFFFF)</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceAdobeXMPCore.html">AdobeXMPCore</a></li><li class="navelem"><a class="el" href="classAdobeXMPCore_1_1IPathSegment__v1.html">IPathSegment_v1</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
